Projet Python

Goudelin Richard

Les données avec lequelles nous allons travailler sont les transactions immobilières intervenues au cours des cinq dernières années sur le territoire métropolitain et les DOM-TOM, à l’exception de l'Alsace, de la Moselle et de Mayotte.

Avant de commencer le projet, on importe d'abord les librairies python nécessaires pour l'analyse des données: numpy, pandas matplotlib ou seaborn.

Source pour changement de couleur : https://www.kaggle.com/code/alejopaullier/make-your-notebooks-look-better#6.-Change-cell-background-colors--%E2%86%91

Importation des librairies utilisées

Explorer notre fichier .txt :

Pour pouvoir travailler sur les données nous allons les charger le fichier "valeursfoncieres-2022.txt" dans une variable valeurs_foncieres avec l'aide d'une méthode pandas qui s'appelle read_csv(). On va devoir nettoyer, filtrer et modifier pour préparer un data frame qui est prêt à être analysé.

Première visualisation de notre Dataframe 2022 :

On remarque qu'il y a trois pointillés dans les colonnes de notre DataFrame. Pour corriger ça on peut utiliser la méthode set_option qui va augmenter le nombre de colonne visible et ainsi nous permettre de visualiser l'entierté des colonnes.

Ce DataFrame contient beaucoup de colonnes, on peut donc tous les voir avec valeurs_foncieres.columns

La plupart des colonnes ont un type "object", soit parcequ'ils contiennent des valeurs de différents types ou qu'ils contiennent des valeurs vides, qui sont représentées par le NaN . On va devoir s'occuper des valeurs nulls et ajuster les types des données manuellement de quelques colonnes.

Maintenant qu'on a une idée globale de notre DataFrame, on va d'abord faire un peu de nettoyage de données avant d'entrer dans l'analyse.
En affichant notre DataFrame avec la méthode head() on a remarqué qu'il y avait beaucoup de valeurs manquantes, surtout pour les 7 premiers colonnes et la colonne "Identifiant local". En regardant le pourcentage de valeurs manquantes on remarque que plusieurs des colonnes contiennent plus de 90% de valeurs manquantes.

ous allons d'abord supprimer les colonnes avec 100% de valeurs manquantes avec la méthode drop.

Ensuite pour le reste des colonnes, on doit prendre en contexte notre analyse et réflechir à l'utilité potentielle de chaque colonne avant de les supprimer définitivement.
"B/T/Q", "Prefixe de section", "No Volume", "2eme lot", "Surface Carrez du 2eme lot", "3eme lot", "Surface Carrez du 3eme lot", "4eme lot", "Surface Carrez du 4eme lot", "5eme lot", et "Surface Carrez du 5eme lot". Ces colonnes ne semblent pas contenir des informations pertinentes pour l'analyse, il serait donc probablement judicieux de les supprimer.

On peut aussi vérifier si le DataFrame contient des lignes avec que des valeurs NaN.

On peut aussi prendre le soin de renommer nos colonnes avec la méthode rename:

Nous changeons les types de ValeurFonciere et CodeDepartement pour les analyses suivantes

Nous pouvons changer les types de certains "Series" comme par exemple pour la Valeur Fonciere. On veut aussi changer le type d'autres colonnes mais comme ils ont des valeurs NaN ce n'est pas possible. On a donc pris la décision de garder un type float pour les colonnes comme No Voie, Code Postal ou encore Nbr pieces principales.

Maintenant qu'on a charger, nettoyer, filtrer et modifier les données, on peut avancer à la prochaine étape qui est l'analyse.

Graphique représentant la valeur foncière moyenne des biens par département

Ce graphique semble abbérant au niveau du département 22 :
On analyse le département 22 et les données des 20 biens vendus dans ce département avec la plus grande valeur foncière.

On se rend compte qu'un bien vendu avec une valeur foncière de 64750612.0 est présent à multiple reprises, à des codes postaux différents, voies différentes... Pour résoudre ce problème, nous allons supprimer les doublons. Après analyse de ces données, on se rend compte qu'elles ont la même Date Mutation, la même Valeur Fonciere, et le même Code Département. On fait cela avec un drop_duplicate avec ce subset : df.drop_duplicates(subset=['ValeurFonciere','CodeDepartement', 'DateMutation'], inplace=True)
Cela semble beaucoup plus cohérent avec le sujet, même pour les aurtes département (ici 75, Paris)

PARTIE ANALYSE:

Graphique à dispersion représentant le nombre de ventes de biens dans un département en fonction de la valeur foncière moyenne des biens de ce département

Observations On observe que deux département sortent du lot en terme de Valeur Foncière moyenne, et ce sont sans surprise Paris et les Hauts-de Seine (75 et 92) On remarque également que beaucoup plus de biens sont vendus à Paris que dans le 92, comme le prouve les couleurs qui leurs sont associée et la légende de NbVente.

Globalement, on remarque que plus un bien coûte cher (et est sur la droite du graphique), plus sa valeur foncière est élevée, et moins il y a de surface. Autrement dit, il y aurait une droite de régression. </i>